/*
Copyright IBM Corp. All Rights Reserved.

SPDX-License-Identifier: Apache-2.0
*/

package pkcs11

/*
bccsp/pkcs11/ecdsa.go 国密对应后废弃
*/

// import (
// 	"crypto/ecdsa"
// 	"fmt"

// 	"gitee.com/zhaochuninhefei/fabric-gm/bccsp"
// 	"gitee.com/zhaochuninhefei/fabric-gm/bccsp/utils"
// )

// func (csp *impl) signECDSA(k ecdsaPrivateKey, digest []byte, opts bccsp.SignerOpts) ([]byte, error) {
// 	r, s, err := csp.signP11ECDSA(k.ski, digest)
// 	if err != nil {
// 		return nil, err
// 	}

// 	s, err = utils.ToLowS(k.pub.pub, s)
// 	if err != nil {
// 		return nil, err
// 	}

// 	return utils.MarshalECDSASignature(r, s)
// }

// func (csp *impl) verifyECDSA(k ecdsaPublicKey, signature, digest []byte, opts bccsp.SignerOpts) (bool, error) {
// 	r, s, err := utils.UnmarshalECDSASignature(signature)
// 	if err != nil {
// 		return false, fmt.Errorf("failed unmashalling signature [%s]", err)
// 	}

// 	lowS, err := utils.IsLowS(k.pub, s)
// 	if err != nil {
// 		return false, err
// 	}

// 	if !lowS {
// 		return false, fmt.Errorf("invalid S. Must be smaller than half the order [%s][%s]", s, utils.GetCurveHalfOrdersAt(k.pub.Curve))
// 	}

// 	if csp.softVerify {
// 		return ecdsa.Verify(k.pub, digest, r, s), nil
// 	}

// 	return csp.verifyP11ECDSA(k.ski, digest, r, s, k.pub.Curve.Params().BitSize/8)
// }
